package org.csu.mypetstorebackstage.persistence;

import org.apache.ibatis.annotations.Param;
import org.csu.mypetstorebackstage.domain.Item;
import org.csu.mypetstorebackstage.domain.Product;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository("ProductMapper")
public interface ProductMapper {
    List<Product> getProductAllByCategory(@Param("categoryName") String categoryName);

    Product getProductById(String productId);

    Product getProductTest(String productName);

    List<Product> getProductAll();


    List<Product>getProductListByCategory(String categoryId);

    Product getProduct(String productId);

    List<Item> getItemsByProductId(@Param("productId") String productId);

    List<Product> searchProductList(String keywords);

    Boolean addProduct(Product newProduct);





    //先判断商品是否存在                     sql语句还可以添加 若商品不存在 则插入该商品
    void updateProduct( Product newProduct);

    //删除商品  并且将商品中所有item也一起删除
    void deleteProduct( String productId);

//
    String getProductIdByitemId(String itemId);

    void deleteItem(@Param("itemId") String itemId);

    void updateItem(Item newItem);

    Boolean addItem(Item newItem);

    void updateItemquantity(Item newItem);

    void addItemtoInventory(Item newItem);
}
